﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IronCow;

namespace Milkify.Data
{
    public abstract class TaskEditData
    {
        public IEnumerable<string> Tags { get; private set; }
        public IEnumerable<Location> Locations { get; private set; }
        public IEnumerable<TaskList> TaskLists { get; private set; }

        public abstract TaskList ParentTaskList
        {
            get;
            set;
        }

        protected TaskEditData(IEnumerable<TaskList> taskLists, IEnumerable<string> tags, IEnumerable<Location> locations)
        {
            TaskLists = taskLists;
            Tags = tags;
            Locations = locations;
        }

        public abstract string GetTags(string separator);
        public abstract void SetTaskTags(string formattedTags, char[] separators);

        public abstract void Commit();
    }
}
